// Time object contains 2 integers representing the hour and minutes.
// Has overloaded comparison operators to compare 2 time objects.

//@author A0099619J
#ifndef TIME_H
#define TIME_H

#include <iostream>
#include <string>
#include <ctime>

#define NULL_TIME Time(99, 99)

class Time
{
private:
	int hour;
	int minute;
public:	
	Time();
	Time(int, int);

	static Time getCurrentTime();
	std::string formatTime();
	bool isValidTime();

	int getHour();
	int getMinute();

	bool operator<(const Time&) const;
	bool operator<=(const Time&) const;
	bool operator>(const Time&) const;
	bool operator>=(const Time&) const;
	bool operator==(const Time&) const;
	bool operator!=(const Time&) const;

	friend std::ostream& operator<<(std::ostream&, const Time&);
};

#endif